import random

"""
def bubble_sort(li):
    for i in range(len(li) - 1):  # 第i趟
        for j in range(len(li) - i - 1):  # 逐个循环对比
            if li[j] > li[j + 1]:  # 当前元素比下一个元素大（升序）
                # if li[j] < li[j + 1]:  # 当前元素比下一个元素小（降序）
                li[j], li[j + 1] = li[j + 1], li[j]  # 元素调换位置
        print(li)


# li = [random.randint(0, 10000) for i in range(1000)]
li = [3, 2, 4, 6, 5, 1, 8, 7, 9]
print(li)
bubble_sort(li)
print(li)

"""


def bubble_sort(li):
    for i in range(len(li) - 1):  # 第i趟
        exchange = False
        for j in range(len(li) - i - 1):  # 逐个循环对比
            if li[j] > li[j + 1]:  # 当前元素比下一个元素大（升序）
                # if li[j] < li[j + 1]:  # 当前元素比下一个元素小（降序）
                li[j], li[j + 1] = li[j + 1], li[j]  # 元素调换位置
                exchange = True
        print(li)
        if not exchange:
            return


li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(li)
bubble_sort(li)
